core: Allow 'rev-parse' to resolve multiple revs
authorColin Walters <walters@verbum.org>
Tue, 6 Mar 2012 12:56:30 +0000 (07:56 -0500)
committerColin Walters <walters@verbum.org>
Tue, 6 Mar 2012 16:59:06 +0000 (11:59 -0500)
src/ostree/ot-builtin-rev-parse.c

index b60a6082e41b30dabb52f3b185e6c3a4e0f0d6c5..5d4bf73c98f1c7c7cca6fd4599811e80652fb8a3 100644 (file)
@@ -41,6 +41,7 @@ ostree_builtin_rev_parse (int argc, char **argv, GFile *repo_path, GError **erro
   char *resolved_rev = NULL;
   GVariant *variant = NULL;
   char *formatted_variant = NULL;
+  int i;
 
   context = g_option_context_new ("REV - Output the target of a rev");
   g_option_context_add_main_entries (context, options, NULL);
@@ -57,12 +58,14 @@ ostree_builtin_rev_parse (int argc, char **argv, GFile *repo_path, GError **erro
       ot_util_usage_error (context, "REV must be specified", error);
       goto out;
     }
-  rev = argv[1];
-
-  if (!ostree_repo_resolve_rev (repo, rev, FALSE, &resolved_rev, error))
-    goto out;
-
-  g_print ("%s\n", resolved_rev);
+  for (i = 1; i < argc; i++)
+    {
+      rev = argv[i];
+      g_free (resolved_rev);
+      if (!ostree_repo_resolve_rev (repo, rev, FALSE, &resolved_rev, error))
+        goto out;
+      g_print ("%s\n", resolved_rev);
+    }
  
   ret = TRUE;
  out: